A computing system can communicate with one or more other computing systems over a network. Communication components associated with the computing system and/or the network can be grouped according to layers. For example, layers can include application, presentation, session, transport, network, data link, and physical layers. Each layer can be associated with one or more functions. For example, the application layer can interact with software applications that implement a communicating component and the transport layer can provide the functional and procedural means of transferring variable-length data sequences from a source to a destination host via one or more networks, while maintaining the quality of service functions. In general, a given layer can provide one or more services to a layer above the given layer, and can consume one or more services provided by a layer below the given layer.